﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace GUI
{
    public partial class FrmFee : Form
    {
        string tuKhoa = "";
        DAL.FeeDAL fee = new DAL.FeeDAL();
        public FrmFee()
        {
            InitializeComponent();
        }
        private void LoadData()
        {
            dgvFee.DataSource = fee.GetAllData();
            if (dgvFee.RowCount > 0)
            {
                txtTen.Text = dgvFee.SelectedRows[0].Cells[1].Value.ToString();
                nupGia.Value = Convert.ToDecimal(dgvFee.SelectedRows[0].Cells[2].Value);
            }
        }
        private void FrmFee_Load(object sender, EventArgs e)
        {
            this.grpFeeInfo.Enabled = false;
            this.btnHuy.Enabled = false;
            LoadData();
        }
        private void dgvFee_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            if (dgvFee.RowCount > 0)
            {
                txtTen.Text = dgvFee.SelectedRows[0].Cells[1].Value.ToString();
                nupGia.Value = Convert.ToDecimal(dgvFee.SelectedRows[0].Cells[2].Value);
            }
        }

        private void btnThem_Click(object sender, EventArgs e)
        {
            if (btnThem.Text == "Thêm")
            {
                this.grpFeeInfo.Enabled = true;
                this.btnHuy.Enabled = true;
                this.btnCapNhat.Enabled = false;
                this.btnXoa.Enabled = false;
                this.btnThem.Text = "Lưu Lại";

                txtTen.Text = "";
                nupGia.Value = 0;
            }
            else
            {
                if (fee.Insert(txtTen.Text, Convert.ToInt64(nupGia.Value)))
                {
                    this.grpFeeInfo.Enabled = false;
                    this.btnHuy.Enabled = false;
                    this.btnCapNhat.Enabled = true;
                    this.btnXoa.Enabled = true;
                    this.btnThem.Text = "Thêm";
                    LoadData();
                }
                else
                {
                    MessageBox.Show("Thêm vào cơ sở dữ liệu thất bại!");
                }
            }
        }

        private void btnHuy_Click(object sender, EventArgs e)
        {
            this.grpFeeInfo.Enabled = false;
            this.btnHuy.Enabled = false;
            this.btnCapNhat.Enabled = true;
            this.btnXoa.Enabled = true;
            this.btnThem.Enabled = true;
            this.btnThem.Text = "Thêm";
            this.btnCapNhat.Text = "Cập Nhật";
        }

        private void btnCapNhat_Click(object sender, EventArgs e)
        {
            if (btnCapNhat.Text == "Cập Nhật")
            {
                this.grpFeeInfo.Enabled = true;
                this.btnHuy.Enabled = true;
                this.btnThem.Enabled = false;
                this.btnXoa.Enabled = false;
                this.btnCapNhat.Text = "Lưu Lại";
            }
            else
            {
                if (fee.Update(Convert.ToInt32(dgvFee.SelectedRows[0].Cells[0].Value),txtTen.Text, Convert.ToInt64(nupGia.Value)))
                {
                    this.grpFeeInfo.Enabled = false;
                    this.btnHuy.Enabled = false;
                    this.btnThem.Enabled = true;
                    this.btnXoa.Enabled = true;
                    this.btnCapNhat.Text = "Cập Nhật";
                    LoadData();
                }
                else
                {
                    MessageBox.Show("Cập nhật dữ liệu thất bại!");
                }
            }
        }

        private void btnXoa_Click(object sender, EventArgs e)
        {
            if (dgvFee.SelectedRows.Count == 1)
            {
                DialogResult choice = MessageBox.Show("Bạn có chắc muốn xóa không ?", "Xác nhận", MessageBoxButtons.YesNo);
                if (choice == DialogResult.Yes)
                    if (fee.Delete(Convert.ToInt32(dgvFee.SelectedRows[0].Cells[0].Value)))
                        LoadData();
                    else
                        MessageBox.Show("Không xóa được!");
            }
            else
            {
                MessageBox.Show("Vui lòng chọn 1 mẫu tin để xóa!");
            }
        }
    }
}
